A human interface device (e.g., a mouse, a trackball, etc.) may be used to interact with objects within a user interface. Some applications may need to know the navigational state (e.g., attitude and/or position) of the human interface device while the device is moving. One such example is an application that interfaces with a human interface device that may be freely moved in space (e.g., in one, two, or three dimensions of displacement and one, two or three dimensions of rotation or attitude) to position a cursor in a user interface, adjust display of overlaid objects in an augmented reality application or select a portion of a virtual world for display to a user of the device. However, sensors such as magnetometers and accelerometers that are used to determine the navigational state of a human interface device frequently have non-ideal characteristics coming straight from the factory and additional non-ideal characteristics may be introduced when integrating the sensors into the human interface device. These non-ideal characteristics may cause the device to function poorly or malfunction entirely. Calibrating these sensors can dramatically improve performance of the human interface device.